//找图(img[, threshold, region]);

//img 小图片的路径
//threshold {number} 图片相似度。取值范围为0~1的浮点数。默认值为0.9。
//region {Array} 找图区域。参见findColor函数关于region的说明。

//在屏幕截图中查找小图片img的位置（模块匹配），
//找到时返回位置坐标(Point)以及小图片img的宽(img_w)和高(img_h)，
//找不到时返回false。
//找图后将自动回收小图片img，无需手动回收。

ScreenCapture(); //自动获取截图权限
console.show(); //显示控制台

var img_w, img_h; //初始化变量（必须）

var point = 找图("./1.jpg", 0.8);
if (point) {
    log("X坐标：" + point.x);
    log("Y坐标：" + point.y);
    log("图片宽度：" + img_w);
    log("图片高度：" + img_h);
} else {
    log("没找到");
}

function 找图(src, threshold, region) {
    var img = images.read(src);
    var point = findImage(captureScreen(), img, {
        threshold: threshold,
        region: region
    });
    img_w = img.width;
    img_h = img.height;
    img.recycle();
    if (point) {
        return point;
    }
    return false;
}

function ScreenCapture(isHorizontal) {
    let AllowThreads = threads.start(function() {
        function isAllow() {
            return textMatches(/(允许|立即开始|同意)/).findOnce();
        }
        while (true) {
            try {
                let Allow = isAllow();
                if (Allow) {
                    Allow.click();
                }
            } catch (error) {
                console.error(error);
            }
            sleep(100);
        }
    });
    AllowThreads.waitFor();
    if (!requestScreenCapture(isHorizontal)) {
        AllowThreads.interrupt();
        toast("请求截图失败");
        exit();
        return false;
    } else {
        AllowThreads.interrupt();
        return true;
    }
}